package burubaka.service;

import java.util.List;

import org.slim3.datastore.Datastore;

import burubaka.meta.BbBbsMeta;
import burubaka.model.BbBbs;

import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.Transaction;

public class BbBbsService {

	private BbBbsMeta meta = new BbBbsMeta();

	/**
	 * キーからBbBbsを取得する
	 * 
	 * @param key
	 * @return BetTemplate
	 */
	public BbBbs findByKey(Key key) {
		return Datastore.query(this.meta, key).asSingle();
	}

	/**
	 * BbBbsを取得する
	 * 
	 * @param key
	 * @return BetTemplate
	 */
	public List<BbBbs> findAll() {
		return Datastore.query(this.meta).sort(meta.createdDate.desc).asList();
	}

	/**
	 * BbBbsを取得する
	 * 
	 * @param key
	 * @return BetTemplate
	 */
	public List<BbBbs> findAll(int limit) {
		return Datastore.query(this.meta).sort(meta.createdDate.desc).offset(0).limit(limit).asList();
	}

	/**
	 * 登録
	 * 
	 * @param model
	 * @return Tipster
	 */
	public boolean regist(BbBbs model) {

		Transaction tx = Datastore.beginTransaction();
		Datastore.put(model);
		tx.commit();

		return true;
	}

}
